
    // 改变参数为key=value形式
   function changeData(data){
        let str=""
        for(let key in data){
            str+=`${key}=${data[key]}&`
        }
        return str.slice(0,str.length-1)
   }


    function ajax(obj){
        //   改变接口信息
          let default_obj={
              method:obj.method||'get',
              url:obj.url,
              data:null,
              header:obj.header? obj.header:null,
              boolean:obj.boolean !== false ? true : false,
          }
          if(obj.data){
            if(default_obj.method=="get"){
                default_obj.data=changeData(obj.data)
                default_obj.url=`${obj.url}?${changeData(obj.data)}`
            }else{
                if(obj.header['content-type']=='application/json'){
                    default_obj.data=JSON.stringify(obj.data)
                }else{
                    default_obj.data=changeData(obj.data)
                }
            }
          }
           

          let p = new Promise((resolve,reject)=>{
                let xhr =new XMLHttpRequest()
                xhr.open(default_obj.method,default_obj.url,default_obj.boolean)
                xhr.onreadystatechange=function(){
                    if(xhr.readyState==4&&xhr.status==200){
                        let res = JSON.parse(xhr.responseText)
                        if(res.code==0){
                            resolve(res)
                        }else{
                            reject(res)
                        }
                    }
                }
                if (default_obj.header) {
                    for(let key in default_obj.header){
                        xhr.setRequestHeader(key, default_obj.header[key])
                    }
                    xhr.send(default_obj.data)
                } else {
                    xhr.send()
                }
               
          })
          return p
    }
    export default ajax